package com.iot.device.mapper;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.ibatis.annotations.Mapper;
import com.iot.device.domain.QuakeClient;

/**
 * 震动监测设备Mapper接口
 * 
 * @author iot
 * @date 2023-04-14
 */
@Mapper
public interface QuakeClientMapper 
{
    /**
     * 查询震动监测设备
     * 
     * @param id 震动监测设备主键
     * @return 震动监测设备
     */
    public QuakeClient selectQuakeClientById(Long id);

    /**
     * 查询震动监测设备列表
     * 
     * @param quakeClient 震动监测设备
     * @return 震动监测设备集合
     */
    public List<QuakeClient> selectQuakeClientList(QuakeClient quakeClient);

    /**
     * 新增震动监测设备
     * 
     * @param quakeClient 震动监测设备
     * @return 结果
     */
    public int insertQuakeClient(QuakeClient quakeClient);

    /**
     * 修改震动监测设备
     * 
     * @param quakeClient 震动监测设备
     * @return 结果
     */
    public int updateQuakeClient(QuakeClient quakeClient);

    /**
     * 删除震动监测设备
     * 
     * @param id 震动监测设备主键
     * @return 结果
     */
    public int deleteQuakeClientById(Long id);

    /**
     * 批量删除震动监测设备
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQuakeClientByIds(Long[] ids);

    QuakeClient selectQuakeClientByClientNo(String clientNo);

    Set<String> selectQuakeClientNosByUserId(Long userId);

    Map<String, Long> countQuakeClientsByUserId(Long userId);

    Map<String, Long> selectQuakeClientStatistics(Long userId);
}
